1. Field of the Invention
The present invention relates to a communication system, including a plurality of terminals, for performing communication among these terminals and, more particularly, to an ATM communication system in an ATM (Asynchronous Transfer Mode) and a process migration method in the ATM communication system.
2. Description of the Related Art
An ATM (Asynchronous Transfer Mode) attracts attention as a technique aiming at increasing the speed of transmission/switching technique. The ATM is a technique in which all pieces of information are carried by fixed-length short packets called cells to be transferred to aim at packaging hardware for packet exchange, thereby make it easy to transmit/switch information at a high speed.
The ATM is regarded as xe2x80x9cpromised solutionxe2x80x9d of a future B-ISDN (Broadband aspects of Integrated Services Digital Network). For this reason, study and development for applying the ATM technique to various communication systems are actively performed in recent years. For example, a so-called ATM-LAN in which the ATM technique is applied to not only a public network operated by a carrier but also a network, i.e., local area network (LAN), using a restricted area, e.g., one floor of an office to improve inter-operability with a public network, or a method of applying the ATM technique to a so-called CATV network which presents communication services to a restricted area are developed.
In the ATM communication system using the ATM technique, before communication, a so-called connection is set between terminals to communicate with each other. When the terminals to communicate with each other sends a cell to the communication system, the identifier of the connection is written in the header portion of the cell. The communication system refers to the header portion of the cell to transfer the cell along the connection to which the cell belongs, thereby transferring the cell to a desired terminal. In the ITU-T standards, the identifier of the connection in an ATM layer is called a VPI/VCI.
In this manner, in the ATM communication system, communication is performed by using a connection. For this reason, an ATM switch constituting the ATM communication system has a routing tag table for holding information indicating a specific output port to which a cell belonging the connection set on each input port is transferred and the value of a new VPI/VCI used when the cell belonging to the connection is sent from the ATM switch. Connection setting in the ATM layer is performed by setting the routing tag table on the ATM switch through which the connection passes to be a desired value.
The ATM communication system performs communication by setting a connection in advance as described above. Desired communication quality can be advantageously given to each terminal by allocating the bandwidth of each physical link to the connection in advance. However, the ATM communication system has the following problem.
A conventional ATM communication system cannot efficiently perform a multi-media application due to the following problem.
FIG. 18 shows the arrangement of an ATM-LAN serving as an example used to explain the problem. This ATM-LAN is constituted such that terminals #1 to #5 (P021 to P025) are connected to each other by hubs #1 to #5 (P011 to P015). Physical link pairs P031 to P039 are arranged to connect the hubs and terminals to each other in order to realize full duplex communication. Physical links such as optical fibers or UTPs provide unidirectional information transfer, and are used as pairs.
In addition, the terminal #1 (P021) has a file #1 (P041), the terminal #2 (P022) has a file #2 (P042), and, similarly, the terminal #5 (P025) has a file #5 (P045).
In a conventional LAN such as an ethernet, a communication bandwidth on a coaxial cable is shared by connections. However, in an ATM-LAN, CAC (Connection Admission Control) which is unique to the ATM-LAN is performed before communication is started, a communication bandwidth is exclusively allocated to each connection. For this reason, in the conventional LAN, a communication bandwidth allocated to a connection changes due to the operation of other processes. In the ATM-LAN, since communication bandwidths allocated to connections does not change due to the operation of other processes, communication which assures QoS such as to read data from a file at a constant speed can be performed. On the other hand, in a conventional LAN, a process using the LAN can always send a message. In contrast to this, in the ATM-LAN, when communication bandwidths are not allocated by the CAC, communication cannot be performed. For this reason, in consideration of execution of applications using communication bandwidths and a resource such as files, when the applications distributed on the ATM-LAN are executed, the following problem is posed.
This problem will be described with reference to the ATM-LAN shown in FIG. 18.
A process A executed on the terminal #1 (P021) assures the file #1 (P041) and transfers it to the terminal #3 (P023). In addition, a process B executed on the terminal #2 (P022) refers to the contents of the file #1. When the processes A and B are executed simultaneously, the following may occur.
The process A opens the file #1 (P041) first. On the other hand, the process B obtain all the communication bandwidths on physical links P036 and P037. In this state, the process A tries to obtain a route to the file #3 (P043) and the communication bandwidths on the physical links P036, P033, P034, and P038. However, at this time, since all the communication bandwidths of the physical link P036 has been assured by the process B. The process A fails to obtain the communication bandwidths. The process B tries to open the file #1 (P041). However, since the file #1 (P041) has been opened by the process A, the process B fails to open the file. When the processes A and B are slept in this state, a dead-lock state occurs.
Dead-lock of such a type occurs due to conflict of the usage requests of the processes A and B between the file #1 (P041) and the communication bandwidth on the physical link P036. More specifically, the dead-lock of such a type occurs such that the CAC is executed to exclusively give the communication bandwidths to a certain process, and is called CAC dead-lock. When communication bandwidths are allocated by Q. 2931, each process cannot recognize that the dead-lock state is caused conflict on the communication bandwidths on the physical link P036, and the CAC dead-lock cannot be canceled.
In a general communication system, due to a defective terminal, it may be desired to migrate a process executed on the terminal to another terminal. Such migration of a process from one terminal to another terminal is generally called process migration. In the conventional ATM communication system, this process migration is performed by the following procedure.
FIG. 31 shows a procedure of process migration on the conventional ATM communication system. In this procedure shown in FIG. 31, terminals #1 (X041), #2 (X042), . . . , #n (X04n) which are connected to each other by the ATM communication system. In the conventional ATM communication system, a Q. 2931 terminated portion X01 which terminates Q. 2931 protocol for setting connections is present, a signaling VC#i (X02i) is set between the Q. 2931 terminated portion X01 and the terminals X04i. The signaling VC#i (X02i) is used to cause each terminal to specify the terminal of a callee or destination for the Q. 2931 terminated portion X01. The Q. 2931 terminated portion X01 sets a connection between a terminal which requests connection setting and a terminal specified by the connection setting request to use the connection for communication between the terminals. Although an ATM switch and physical links constituting the ATM communication system are omitted in FIG. 31 to avoid cumbersome illustration, it is considered that the ATM switch and physical links are present at a portion where the above VCs are set.
In the example shown in FIG. 31, a process #1 (X051) is executed on the terminal # (X041), and a process #2 (X052) is executed on the terminal #2 (X042). The process #1 (X051) communicates with the process #2 (X052) through a connection X03. In this state, it is considered that the process #2 (X052) operated on the terminal #2 (X042) is migrated to the terminal #n (X04n).
FIG. 32 shows a state after the migration. In order to perform the communication between the process #1 (X051) and the process #2 (X052), a new connection Y02 is set between the terminal #1 (X041) and the terminal #n (X04n). A connection Y03 set to perform the communication between these processes before migration is released. In order to migrate the process #2 (X052) from the terminal #2 (X042) to the terminal #n (X04n), a connection Y01 is set between the terminal #2 (X042) and the terminal #n (X04n). Upon completion of migration, the connection Y01 is released.
FIG. 33 shows a migration procedure performed in a conventional ATM communication system to shift the state shown in FIG. 31 to the state shown in FIG. 32.
When the terminal #2 (X042) tries to migrate the process #2 (X052) executed on the terminal #2 (X042), the terminal #2 (X042) requests the Q. 2931 terminated portion X01 to set the connection Y01 (step Z01). When the Q. 2931 terminated portion X01 receives the connection setting request, the Q. 2931 terminated portion X01 writes a proper value in the routing tag table of the ATM switch in the ATM system to set the connection (step Z02), and notifies the terminal #n (X04n) that the connection is set (step Z03). When the terminal #n (X04n) can receive the newly set connection, after the terminal #n (X04n) performs a process for receiving the connection, the terminal #n (X04n) notifies the Q. 2931 terminated portion X01 that the process for receiving the connection is performed (step Z04). When the Q. 2931 terminated portion X01 receives the connection receivable notification from the terminal #n (X04n), the Q. 2931 terminated portion X01 notifies the terminal #2 (X042) of connection setting completion (step Z05). In this manner, since the connection Y01 is set between the terminal #2 and the terminal #n, the terminal #2 (X042) communicates with the terminal #n (X04n) by using the connection Y01 to transfer the process #2 (X052) from the terminal #2 (X042) to the terminal #n (X04n) (step Z06). At the same time, the terminal #2 (X042) uses a connection X03 to notify the terminal #1 (X041) that the process #2 (X052) executed on the terminal #2 (X042) is migrated to the terminal #n (X04n), i.e., that process migration is performed (step Z07).
When the terminal #1 (X041) is notified of process migration as described above, the terminal #1 (X041) temporarily stops execution of the process #1 (X051) and, at the same time, requests the Q. 2931 terminated portion X01 to set the connection between the terminal #1 (X041) and the terminal #n (X04n) serving as a migration destination (step Z08). When the Q. 2931 terminated portion X01 receives the request to set a connection, the Q. 2931 terminated portion X01 rewrites the routing tag table of the ATM switch on the route of the connection with a proper value to set the requested connection (step Z09). Upon completion of connection setting, the Q. 2931 terminated portion X01 notifies the terminal #n (X04n) that the connection is set (step Z10). When the terminal #n (X04n) is notified of connection setting, after the terminal #n (X04n) performs a predetermined process for receiving the connection, and notifies the Q. 2931 terminated portion X01 that reception of the connection is completed (step Z11).
When the terminal #n (X04n) notifies the Q. 2931 terminated portion X01 of the reception of the connection, the Q. 2931 terminated portion X01 notifies the terminal #1 (X041) which performs the connection setting request that the connection setting is completed (step Z12).
Since the connection Y02 between the terminal #1 (X041) and the terminal #n (X04n) is set by the above procedure, the terminal #1 (X041) uses the connection X03 and the connection Y02 to notify the terminal #2 (X042) and the terminal #n (X04n) that execution of the process #1 (X051) and the process #2 (X052) can be restarted (step Z13). By using this notification as a trigger, execution of the process #1 (X051) on the terminal #1 (X041) and execution of the process #2 (X052) on the terminal #n (X04n) are restarted.
On the ATM communication system, the connection X03 which has not been used in the communication between the process #1 (X051) and the process #2 (X052) and the connection Y01 used in only migration are still set. In order to release these connections, after the execution of the process #1 (X051) and the process #2 (X052) are restarted, the terminal #1 (X041) and the terminal #2 (X042) request the Q. 2931 terminated portion X01 to release the connection X02 and the connection Y01, respectively.
A sequences for releasing the connection X02 are shown in steps Z14, Z15, Z16, Z17, and Z18 in FIG. 33 (45), and a sequence for releasing the connection Y01 are shown in steps Z19, Z20, Z21, Z22, and Z23. Each sequence performs connection release according to the following sequence. The terminal of a connection release request sender sends a connection release request to the Q. 2931 terminated portion X01. When the Q. 2931 terminated portion X01 receives the connection release request, the Q. 2931 terminated portion X01 notifies the other terminal which performs communication by using the connection of connection release. The terminal notified of connection release executes a predetermined process executed in connection release, and then notifies the Q. 2931 terminated portion X01 that the connection release is received. When the connection release is received, the Q. 2931 terminated portion X01 changes the routing tag table of the ATM switch on the route of the connection to be released into a proper value, thereby releasing the connection. Upon completion of this operation, the Q. 2931 terminated portion X01 notifies the terminal which requires the connection release that the connection release is completed.
The above operation is a process which is executed when the process #2 (X052) is migrated from the terminal #2 (X042) to the terminal #n (X04n).
As is apparent from the above description, when process migration is to be executed on the conventional ATM communication system, connection setting/release must be performed many times. In addition, since the connection setting/release is executed by the Q. 2931 terminated portion X01, the throughput of the Q. 2931 terminated portion X01 must be increased to rapidly execute process migration, and a time required for rewriting the routing tag of the ATM switch must be shortened. However, when these measures are executed, the cost of the ATM communication system disadvantageously increases.
In addition, it should be noted that, as the values of the VPI/VCI used for identifying the connection Y02 by the process #1 (X051) and the process #2 (X052), i.e., the values of the VPI/VCI used when these processes send/receive a cell, values set when the connection X03 is used cannot be directly used. In the convention ATM communication system, the VPI/VCI for identifying a connection on each physical link is managed by the Q. 2931 terminated portion X01, and the Q. 2931 terminated portion X01 notifies the VPI/VCI at the terminal point of the connection Y02 to the terminal #n in connection setting report at reporting connection setup in step Z10 and to the terminal #1 in connection setting completion in step Z12. The terminals #1 (X041) and #n (X04n) must use the notified VPI/VCI to identify message to the processes #1 (X051) and #2 (X052), thereby performing routing to a required process. From the terminal #n viewpoint, this fact means that it must be recognized that the set connection is new connection setting according to process migration in step Z10 in which connection setting is reported. This recognition can be executed by the following manner. That is, information indicating that the connection is new connection setting according to process migration is written as user-user information serving as one information element of a Q. 2931 message, and the terminal in which the connection is set refers to the user-user information to perform matching between the notified VPI/VCI and the process using the VPI/VCI.
However, a change in VPI/VCI used before/after migration means that, when migration occurs, not only the migrated process but also a process whose execution is restarted on the same terminal refer to the information element of the message sent from the Q. 2931 terminated portion X01, the connections used when these processes input and output information must be reconnected. More specifically, the processes must refer to the message sent from the Q. 2931 terminated portion X01 to perform any process to all the processes related to the process in which migration occurs. For this reason, a time required for migration is more increased.
As described above, in the conventional ATM communication system, the CAD dead-lock occurs and a multi-media application cannot be efficiently executed. In addition, when process migration is to be performed, access to the Q. 2931 terminated portion must be performed in a complex pattern to set and release a large number of connections. In order to perform process migration at a high speed, the throughput of the Q. 2931 terminated portion X01 must be increased, and a time required for rewriting the routing tag of the ATM switch must be shortened. For this reason, the cost of the ATM switch disadvantageously increases. In addition, in order to realize high-speed process migration, it is a fault that a large number of processes must be performed to various processes in migration.
It is an object of the present invention to provide an ATM communication system capable of suppressing occurrence of the CAC dead-lock and rapidly performing process migration without increasing a system cost, a process switching method in the ATM communication system, and a process migration method in the ATM communication system.
According to the present invention, there is provided an ATM communication system comprising a plurality of ATM switches, and a plurality of terminals connected to each other thorough the plurality of ATM switches, wherein, since the bandwidth of a connection required to be set exceeds the remaining bandwidth of at least one physical link between the ATM switches or between the ATM switches and the terminals, when dead-lock occurs when a process executed by one of the plurality of terminals is slept, the process executed by the ATM communication system intercepts the bandwidth of at least one physical link obtained by a slept process group to allocate a bandwidth required by the process which requires the connection setting.
According to the present invention, there is provided an ATM communication system comprising a plurality of ATM switches, a plurality of terminals connected to each other through the ATM switches, a connection setting section for controlling the plurality of ATM switches to set an n:n bidirectional ATM connection having n terminals of the plurality of terminals as n terminal points and using the same VPI and VCI of a cell header serving as a connection identifier for identifying the n terminal points, a process identifier allocating section for allocating, to a plurality of processes for sending a message to the bidirectional ATM connection, a process identifier for identifying the processes, and a migrating section for migrating the process executed on an arbitrary terminal of the n terminals to another terminal of the n terminals while the process identifier allocated to the processes by the process identifier allocating section.
According to the first aspect of the present invention, there is provided a process migration method in an ATM communication system comprising the steps of: setting, through a plurality of ATM switches, an n:n bidirectional ATM connection having n terminals of a plurality of terminals as terminal points and using the same connection identifier for identifying the n terminal points; allocating, to a plurality of processes, executed by the n terminals, for sending a message to the bidirectional ATM connection, the process identifier for identifying the processes; and migrating the process executed on an arbitrary terminal of the n terminals to another terminal of the n terminals while keeping the process identifier allocated to the processes.
According to the second aspect of the present invention, there is provided a handover processing method in an ATM communication system in which a plurality of fixed terminals and a plurality of mobile terminal interface apparatuses arranged on different radio zones for interfacing mobile terminals are connected to each other through a plurality of ATM switches, comprising the steps of: setting an n:m first unidirectional ATM connection having n terminals of the plurality of fixed terminals as input side terminal points and m mobile terminal interface apparatuses of the plurality of mobile terminal interface apparatus and an m:n second unidirectional ATM connection having the m mobile terminal interface apparatus as input side terminal points and the n fixed terminals as output side terminal points by controlling the plurality of ATM switches; allocating the same connection identifier to identify the m input side terminal points of the first unidirectional ATM connection and identify the m output side terminals of the second unidirectional ATM connection; and specifying an ATM connection used in communication with the fixed terminals with the connection identifier allocated by the connection identifier allocating section when the mobile terminal communicates with the fixed terminal while moving.
According to the first aspect of the present invention, when process migration in which a process (process for transferring a message to an ATM connection) executed in a certain terminal is migrated to another terminal is to be performed, since the ATM connection for executing process migration is preset in n terminals including the terminal in which the process migration is executed, unlike the prior art, connection setting/release need not be performed by a Q. 2931 terminated portion. As the ATM connection for executing the process migration, an n:n bidirectional ATM connection having the same identifier at a terminal point is set. A process identifier used to perform a process of transferring a message to the bidirectional ATM connection is allocated to a process subjected to migration, and the process identifier is not changed before/after the migration. For this reason, influence on an inter-process communication process following the migration is minimized. Therefore, process migration can be performed at a speed higher than that in the prior art. In addition, since the process migration is performed without the Q. 2931 terminated portion, the throughput of the Q. 2931 terminated portion need not be increased, and a time required for rewriting the routing take of the ATM exchanger need not be shortened. For this reason, the cost of the ATM communication can be reduced.
The process which performs communication by the n:n bidirectional ATM connection sends/receives, through the ATM connection, a message of a single cell including the process identifier and the identifier of the terminal in which the process is executed, so that process identifiers respectively used by processes are exchanged with each other. In this case, when each process can access the n:n bidirectional ATM connection, the corresponding process can know unused process identifier by receiving only the notified message. For this reason, a new process can be easily added.
In a process of allocating a resource to be managed to a resource managing process group, when a process identifier is used to identify processes from each other, even if process migration in which a terminal in which one arbitrary process of the resource managing process group is merged to another terminal occurs, the process can conceal the occurrence of the process migration from the other resource managing processes. In addition, when resource identifiers of the resource managing process group can be made globally unique, even if a resource managing process is migrated, data of the resource managing process need not be rewritten. For this reason, high-speed process migration can be performed.
According to another aspect of the present invention, the connection identifier of the m output terminal points of an n:m first unidirectional ATM connection is made identical to the connection identifier of the m input terminal points of an n:m second unidirectional ATM connection. For this reason, even if a mobile terminal which accesses these input/output terminal points changes an access point, i.e., moves the access point to a different radio zone, an ATM connection used for communication with a fixed terminal without changing the connection identifier can be set to continue the communication, and migration of the mobile terminal, i.e., a handover process, can be performed with a simple protocol.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims.